From 916bea06a7de9808785ed7da2039de4a33dd0a09 Mon Sep 17 00:00:00 2001 From: Alastair Tse Date: Fri, 1 Dec 2006 16:31:36 +0000 Subject: [PATCH] [XEND] Fix outputting device SXPs when domain is halted. Signed-off-by: Alastair Tse --- tools/python/xen/xend/XendConfig.py | 2 +- tools/python/xen/xend/XendDomainInfo.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py index 2b61760c1c..698c4a3487 100644 --- a/tools/python/xen/xend/XendConfig.py +++ b/tools/python/xen/xend/XendConfig.py @@ -964,7 +964,7 @@ class XendConfig(dict): sxprs = [] pci_devs = [] - if 'devices' in self: + if 'devices' not in self: return sxprs for dev_type, dev_info in self['devices'].values(): diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index dd8c2c3b27..0aa71fc4e6 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -580,8 +580,18 @@ class XendDomainInfo: return self.getDeviceController(deviceClass).destroyDevice(devid) + def getDeviceSxprs(self, deviceClass): - return self.getDeviceController(deviceClass).sxprs() + if self.state == DOM_STATE_RUNNING: + return self.getDeviceController(deviceClass).sxprs() + else: + sxprs = [] + dev_num = 0 + for dev_type, dev_info in self.info.all_devices_sxpr(): + if dev_type == deviceClass: + sxprs.append([dev_num, dev_info]) + dev_num += 1 + return sxprs def setMemoryTarget(self, target): -- 2.30.2